package com.sinothk.fc.goods.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sinothk.fc.goods.entity.GoodsDTO;
import com.sinothk.fc.goods.entity.GoodsEntity;
import com.sinothk.fc.goods.entity.GoodsSearchReq;
import com.sinothk.fc.goods.entity.GoodsVO;

/**
 * @Description: 产品信息
 * @Author: Liangyt
 * @Date:   2021-12-28
 * @Version: V1.0
 */
public interface IGoodsService extends IService<GoodsEntity> {

    GoodsEntity addOrEdit(GoodsEntity goodsEntity) throws Exception;

    IPage<GoodsVO> getStoreAllGoodsByState(Page<GoodsEntity> page, GoodsSearchReq searchReq) throws Exception;

    IPage<GoodsEntity> supplierHomePage(Page<GoodsEntity> goodsEntityPage, GoodsEntity goodsEntity);

    IPage<GoodsEntity> supplierSearchHotPage(Page<GoodsEntity> page, GoodsEntity goodsEntity);

    IPage<GoodsEntity> supplierSearchByKeywordsPage(Page<GoodsEntity> page, String keywords);

    GoodsDTO goodsShowDetail(String goodsId) throws Exception;

    GoodsEntity goodsByBarCode(String barCode) throws Exception;

    void updateGoodsNumToStockNumByBarcode(String barcode) throws Exception;

    IPage<GoodsVO> storeGoodsPageByStoreId(Page<GoodsEntity> page, String storeId) throws Exception;

}
